草庐IT

PHPUnit 和 CodeIgniter

全部标签

PHPUnit 模拟一个对象的属性

我正在寻找一种模拟对象并填充其属性的方法。下面是一个使用另一个对象的属性的方法示例:classMyClass{private$_object;publicfunctionmethodUnderTest($object){$this->_object=$object;return$this->_object->property}}为了对该方法进行单元测试,我应该使用PHPUnit中的getMockBuilder()方法创建一个$object的模拟。但是我找不到一种方法来模拟$object的属性,只能模拟方法。 最佳答案 要向模拟对象添

php - CodeIgniter 表单验证 - 获取结果为 "array"而不是 "string"

我正在使用CodeIgniter编写我的表单验证类。有什么办法可以让我在名称值对中收到错误消息吗?例如,在示例表单中有四个字段:user_name、password、password_conf和timezone。其中user_name和password执行以下命令后验证失败:$result=$this->form_validation->run();如果上面的函数返回false,我想得到像下面这样的名称值对的错误:Array{'user_name'=>'usernameisrequired','password'=>'passordisrequired'}我真的很想形成一个JSON,我

php - CodeIgniter 表单验证 - 获取结果为 "array"而不是 "string"

我正在使用CodeIgniter编写我的表单验证类。有什么办法可以让我在名称值对中收到错误消息吗?例如,在示例表单中有四个字段:user_name、password、password_conf和timezone。其中user_name和password执行以下命令后验证失败:$result=$this->form_validation->run();如果上面的函数返回false,我想得到像下面这样的名称值对的错误:Array{'user_name'=>'usernameisrequired','password'=>'passordisrequired'}我真的很想形成一个JSON,我

php - Codeigniter $this->input->post() 为空而 $_POST 正常工作

在codeigniter安装中,我尝试使用内置的$this->input->post('some_data')函数,但是$this->input->post()是一个空数组。Aprint_r($_POST)完全正确地给出了所有变量?根据codeigniter文档,输入类“由系统自动初始化,因此无需手动执行”,让我想知道我还想做什么。关于我应该如何尝试让它工作有什么想法吗?谢谢! 最佳答案 您可以检查,如果您的View看起来像这样(正确):对比(无效):这里的第二个是不正确的,因为它在没有携带post变量的情况下进行重定向。解释:当u

php - Codeigniter $this->input->post() 为空而 $_POST 正常工作

在codeigniter安装中,我尝试使用内置的$this->input->post('some_data')函数,但是$this->input->post()是一个空数组。Aprint_r($_POST)完全正确地给出了所有变量?根据codeigniter文档,输入类“由系统自动初始化,因此无需手动执行”,让我想知道我还想做什么。关于我应该如何尝试让它工作有什么想法吗?谢谢! 最佳答案 您可以检查,如果您的View看起来像这样(正确):对比(无效):这里的第二个是不正确的,因为它在没有携带post变量的情况下进行重定向。解释:当u

php - 使用 PHPUnit,如何只测试两个或多个组?

在PHPUnit的帮助中显示如下:--group...Onlyrunstestsfromthespecifiedgroup(s).--exclude-group...Excludetestsfromthespecifiedgroup(s).对一组来说足够简单。这有效:phpunit--groupfast现在,我不太明白如何对多个组执行此操作。以下对我不起作用:phpunit--groupfastunit#Itbelievesyouwanttotestunit.phpphpunit--groupfast,unit#Itbelievesyouwanttotestunit.phpphpuni

php - 使用 PHPUnit,如何只测试两个或多个组?

在PHPUnit的帮助中显示如下:--group...Onlyrunstestsfromthespecifiedgroup(s).--exclude-group...Excludetestsfromthespecifiedgroup(s).对一组来说足够简单。这有效:phpunit--groupfast现在,我不太明白如何对多个组执行此操作。以下对我不起作用:phpunit--groupfastunit#Itbelievesyouwanttotestunit.phpphpunit--groupfast,unit#Itbelievesyouwanttotestunit.phpphpuni

php - 在 Laravel 的 Homestead 中运行 PHPUnit

我正在使用Homestead来为我的Laravel应用程序提供服务。我正在尝试运行PHPUnit。根据docs:Anexampletestfileisprovidedintheapp/testsdirectory.AfterinstallinganewLaravelapplication,simplyrunphpunitonthecommandlinetorunyourtests.好吧,当我在我的项目根目录(在Homestead环境中)“简单地运行”phpunit时,我得到了这个:当前未安装程序“phpunit”。我需要单独安装PHPUnit吗?文档没有提到它。我做错了什么?

php - 在 Laravel 的 Homestead 中运行 PHPUnit

我正在使用Homestead来为我的Laravel应用程序提供服务。我正在尝试运行PHPUnit。根据docs:Anexampletestfileisprovidedintheapp/testsdirectory.AfterinstallinganewLaravelapplication,simplyrunphpunitonthecommandlinetorunyourtests.好吧,当我在我的项目根目录(在Homestead环境中)“简单地运行”phpunit时,我得到了这个:当前未安装程序“phpunit”。我需要单独安装PHPUnit吗?文档没有提到它。我做错了什么?

php - 如何通过 CRON 运行 CodeIgniter 文件?

我过去曾尝试过以下方法:并将其放入codeigniter安装目录中的一个文件中,将其命名为cron.php,然后通过以下方式调用它:php/home/[username]/public_html/my_project/cron.php如果我在浏览器中输入指向cron.php的URL,它会完美运行,但是每当它通过CRON运行时,我都会收到404错误。将以下代码放在CodeIgniter的show_404()函数中functionshow_404($page=''){print_r($_SERVER);echo"\n\n";die($page);}将以下输出通过电子邮件发送给我:Array